package com.chenfan.magic.entity;

import lombok.Data;

import java.io.Serializable;

/**
 * @author lm
 * 预请求组参数规则
 */
@Data
public class RequestParamModel implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id: 雪花序列
     */
    private String id;

    private Boolean enable;

    private String key;

    private String value;

    private String defaultValue;

    /**
     * api阐述
     */
    private String apiExplain;

    /**
     * 全局校验反馈
     */
    private String validatorExplain;

    /**
     * //一级数据类型 (可选值如下) 默认为String.
     *     //基本类型:
     *     //Number            数字类型
     *     //Boolean           布尔类型
     *     //String            字符串类型
     *     //Date              标准日期类型
     *     //Time              标准时间类型
     *     //DateTime          标准日期+时间类型
     *     //TimeStamp         标准时间戳类型
     *     //扩展类型:
     *     //Object            对象                  Map
     *     //Number Array      数值数组              List<Integer> ...
     *     //Boolean Array     布尔数组              List<Boolean>
     *     //String Array      字符串数组            List<String>
     *     //Object Array      对象数组              List<Map>
     */
    private String dataType;

    /**
     * 是否允许为空
     */
    private Boolean isNotNull;

    /**
     * 防注入
     */
    private Boolean antInfusion = false;

    /**
     * 跨站拦截
     */
    private Boolean antXss = false;

    /**
     * 是否必传
     */
    private Boolean isRequired;

    /**
     * 正则表达式(仅基本类型有效), 前端常用正则预嵌入.
     */
    private String regx;

    /**
     * 正则校验失败的提示信息
     */
    private String regxTip;
}
